package com.tomato.service;

import com.tomato.dto.LoginDTO;
import com.tomato.dto.RegisterDTO;
import com.tomato.dto.UserUpdateDTO;
import com.tomato.entity.User;

public interface UserService {
    /**
     * 用户登录
     * @param loginDTO 登录信息
     * @return JWT token
     */
    String login(LoginDTO loginDTO);

    /**
     * 用户注册
     * @param registerDTO 注册信息
     * @return 用户ID
     */
    Long register(RegisterDTO registerDTO);

    /**
     * 注销用户
     * @param userId 用户ID
     */
    void deleteUser(Long userId);

    /**
     * 更新用户信息
     * @param userId 用户ID
     * @param updateDTO 更新信息
     */
    void updateUser(Long userId, UserUpdateDTO updateDTO);

    /**
     * 获取当前用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    User getCurrentUser(Long userId);

    /**
     * 上传头像
     * @param userId 用户ID
     * @param avatarPath 头像路径
     * @return 更新后的头像路径
     */
    String uploadAvatar(Long userId, String avatarPath);
}